package com.ls.rbac.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ls.rbac.entity.Role;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author liusheng
 * @since 2025--06--28
 */
public interface IRoleService extends IService<Role> {

    /**
     * 分页查询角色
     */
    IPage<Role> getRolePage(Page<Role> page, Role role);

    /**
     * 保存角色和权限关系
     */
    boolean saveRoleWithPermissions(Role role, List<Integer> permissionIds);

    /**
     * 更新角色和权限关系
     */
    boolean updateRoleWithPermissions(Role role, List<Integer> permissionIds);

    /**
     * 删除角色及其关联的权限
     */
    boolean deleteRoleWithPermissionsAndUserRole(Integer roleId);


    List<Role> getRolesByUserId(Integer userId);


}
